home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 44 / Amiga Format CD44 (1999-08-26)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-10].iso / -in_the_mag- / basics / amos / moreuselssprgs.lha / Texter.AMOS / Texter.amosSourceCode < prev   
AMOS Source Code  |  1997-04-18  |  5KB  |  140 lines

  1. Screen Open 1,640,20,2,$8000
  2. Curs Off : Palette 0,$FFF : Cls 0
  3. Print "F1-Col0 F2-Col1 F3-Col2 F4-Col3 F5-Pap0 F6-Pap1 F7-Pap2 F8-Pap3 F9-Paus F0-Wait"
  4. Print "F1-Spe1 F2-Spe2 F3-Spe3 F4-Spe4 F5-Clrs F6-Test F7-Load F8-Save F9 Kill F0-Exit";
  5. Screen Display 1,,33,,
  6. Screen Open 0,320,256,4,0
  7. Screen Display 0,,50,,
  8. Curs Off : Pen 1 : Paper 0 : Cls : Hide 
  9. 'Flash 17,"(FFF,6)(EEE,3)(DDD,3)(CCC,3)(BBB,3)(AAA,3)(999,3)(888,6)(999,3)(AAA,3)(BBB,3)(CCC,3)(DDD,3)(EEE,3)" 
  10. X=0 : Y=0 : A$="" : C=1 : W=4 : P=0
  11. Sprite 1,X*8+128,Y*8+50,1
  12. Def Scroll 1,0,0 To 320,256,0,-2
  13. Palette 0,$FFF,$F0
  14. Do 
  15.   Repeat 
  16.     I$=Inkey$ : S=Scancode : K=Key Shift : Colour 17,Colour(P) : Colour 18,Colour(C)
  17.   Until S<>0
  18.   If Asc(I$)<>0 Then A$=A$+I$
  19.   If I$=>" " Then Locate X,Y : Paper P : Pen C : Print I$; : Inc X
  20.   If Asc(I$)=8 Then Locate X,Y : Paper P : Print " "; : Dec X
  21.   If Asc(I$)=13 Then X=0 : Inc Y
  22.   If I$=Cup$ and Y>0 Then Dec Y
  23.   If I$=Cdown$ Then Inc Y
  24.   If I$=Cleft$ Then Dec X
  25.   If I$=Cright$ Then Inc X
  26.   If S=80 and K=0 and C<>0 Then C=0 : A$=A$+Chr$(0)
  27.   If S=81 and K=0 and C<>1 Then C=1 : A$=A$+Chr$(1)
  28.   If S=82 and K=0 and C<>2 Then C=2 : A$=A$+Chr$(2)
  29.   If S=83 and K=0 and C<>3 Then C=3 : A$=A$+Chr$(3)
  30.   If S=84 and K=0 and P<>0 Then P=0 : A$=A$+Chr$(4)
  31.   If S=85 and K=0 and P<>1 Then P=1 : A$=A$+Chr$(5)
  32.   If S=86 and K=0 and P<>2 Then P=2 : A$=A$+Chr$(6)
  33.   If S=87 and K=0 and P<>3 Then P=3 : A$=A$+Chr$(7)
  34.   If S=88 and K=0 Then A$=A$+Chr$(9)
  35.   If S=89 and K=0 Then A$=A$+Chr$(10)
  36.   If S=80 and K and W<>1 Then W=1 : A$=A$+Chr$(14)
  37.   If S=81 and K and W<>2 Then W=2 : A$=A$+Chr$(15)
  38.   If S=82 and K and W<>3 Then W=3 : A$=A$+Chr$(16)
  39.   If S=83 and K and W<>4 Then W=4 : A$=A$+Chr$(17)
  40.   If S=84 and K Then Cls : X=0 : Y=0 : A$=A$+Chr$(11)
  41.   If S=85 and K Then Gosub TEST
  42.   If S=86 and K Then Gosub LADEN
  43.   If S=87 and K Then Gosub SPEICHERN
  44.   If S=88 and K Then A$="" : X=0 : Y=0 : C=1 : W=4 : Cls 
  45.   If S=89 and K Then Exit 
  46.   If S=70 Then Locate X,Y : Paper P : Print " "; : A$=A$+Chr$(12)
  47.   If X>39 Then X=0 : Inc Y
  48.   If X<0 Then X=39 : If Y>0 Then Dec Y
  49.   If Y>30 Then Y=30 : For A=0 To 3 : Scroll 1 : Wait Vbl : Next 
  50.   Sprite 1,X*8+128,Y*8+50,1
  51. Loop 
  52. Sprite Off 
  53. Screen Close 0 : Screen Close 1
  54. End 
  55. LADEN:
  56.   Show : F$=Fsel$("*.txt","Test.txt","Load a Textfile") : Hide 
  57.   If F$="" Then Return 
  58.   If Exist(F$)=0 Then Return 
  59.   Cls : X=0 : Y=0 : C=1 : W=4
  60.   Open In 1,F$ : A$=Input$(1,Lof(1)) : Close 1
  61.   Gosub AUFBAUEN
  62. Return 
  63. SPEICHERN:
  64.   Show : F$=Fsel$("*.txt","Test.txt","Save a Textfile") : Hide 
  65.   If F$="" Then Return 
  66.   If Len(F$)=Len(F$-".txt") Then F$=F$+".txt"
  67.   Open Out 1,F$ : Print #1,A$; : Close 1
  68. Return 
  69. TEST:
  70.   XA=X : YA=Y : PA=P : CA=C : WA=W
  71.   Screen Open 2,320,256,4,0
  72.   Curs Off : Pen 1 : Paper 0 : Cls 
  73.   Screen Display 2,,50,,
  74.   Flash 19,"(FFF,6)(EEE,3)(DDD,3)(CCC,3)(BBB,3)(AAA,3)(999,3)(888,6)(999,3)(AAA,3)(BBB,3)(CCC,3)(DDD,3)(EEE,3)"
  75.   X=0 : Y=0 : C=1 : P=0 : W=4
  76.   Sprite 1,X*8+128,Y*8+42,2
  77.   Palette 0,$FFF,$F0 : Colour 19,$FFF
  78.   For A=1 To Len(A$)
  79.     I$=Mid$(A$,A,1) : I=Asc(I$)
  80.     If I$=>" " Then Locate X,Y : Paper P : Pen C : Print I$; : Inc X
  81.     If Asc(I$)=8 Then Locate X,Y : Paper P : Print " "; : Dec X
  82.     If Asc(I$)=13 Then X=0 : Inc Y
  83.     If I$=Cup$ and Y>0 Then Dec Y
  84.     If I$=Cdown$ Then Inc Y
  85.     If I$=Cleft$ Then Dec X
  86.     If I$=Cright$ Then Inc X
  87.     If I=0 Then C=0
  88.     If I=1 Then C=1
  89.     If I=2 Then C=2
  90.     If I=3 Then C=3
  91.     If I=4 Then P=0
  92.     If I=5 Then P=1
  93.     If I=6 Then P=2
  94.     If I=7 Then P=3
  95.     If I=9 Then Wait W*10
  96.     If I=10 Then Repeat : Until Inkey$="" : Repeat : Until Inkey$=" "
  97.     If I=11 Then Cls : X=0 : Y=0
  98.     If I=12 Then Locate X,Y : Paper P : Print " ";
  99.     If I=14 Then W=1
  100.     If I=15 Then W=2
  101.     If I=16 Then W=3
  102.     If I=17 Then W=4
  103.     If X>39 Then X=0 : Inc Y
  104.     If X<0 Then X=39 : If Y>0 Then Dec Y
  105.     D=W
  106.     If Y>30 Then Y=30 : For B=0 To 3 : Scroll 1 : Wait Vbl : Next : D=0
  107.     If Key Shift Then D=0
  108.     Sprite 1,X*8+128,Y*8+50,2
  109.     If D>0 Then Wait D
  110.     I$=Inkey$ : If I$=Chr$(27) Then Exit 
  111.   Next 
  112.   Repeat : Until Inkey$="" : Repeat : Until Inkey$=" "
  113.   Screen Close 2 : X=XA : Y=YA : P=PA : C=CA : W=WA
  114. Return 
  115. AUFBAUEN:
  116.   For A=1 To Len(A$)
  117.     I$=Mid$(A$,A,1) : I=Asc(I$)
  118.     If I$=>" " Then Locate X,Y : Paper P : Pen C : Print I$; : Inc X
  119.     If Asc(I$)=8 Then Locate X,Y : Paper P : Print " "; : Dec X
  120.     If Asc(I$)=13 Then X=0 : Inc Y
  121.     If I$=Cup$ and Y>0 Then Dec Y
  122.     If I$=Cdown$ Then Inc Y
  123.     If I$=Cleft$ Then Dec X
  124.     If I$=Cright$ Then Inc X
  125.     If I=0 Then C=0
  126.     If I=1 Then C=1
  127.     If I=2 Then C=2
  128.     If I=3 Then C=3
  129.     If I=4 Then P=0
  130.     If I=5 Then P=1
  131.     If I=6 Then P=2
  132.     If I=7 Then P=3
  133.     If I=11 Then Cls : X=0 : Y=0
  134.     If I=12 Then Locate X,Y : Paper P : Print " ";
  135.     If X>39 Then X=0 : Inc Y
  136.     If X<0 Then X=39 : If Y>0 Then Dec Y
  137.     If Y>30 Then Y=30 : For B=0 To 3 : Scroll 1 : Next 
  138.     Sprite 1,X*8+128,Y*8+50,2
  139.   Next 
  140. Return